<?php
/**
 * @author Lucas
 */
class Projeto_Pedidos {

    private $codigo;
    private $codcliente;
    private $codfrete;
    private $data;
    private $valor;
    private $codpedido;
    private $codproduto;
    private $qtd;
    private $preco_un;

    public function __construct() {
        $this->codigo = 0;
        $this->codcliente = 0;
        $this->codfrete = 0;
        $this->data = '';
        $this->valor = 0;
        $this->codpedido = 0;
        $this->codproduto = 0;
        $this->qtd = 0;
        $this->preco_un = 0;
    }

    public function setCodigo($value) {
        $this->codigo = (int) $value;
    }

    public function getCodigo() {
        return $this->codigo;
    }

    public function setCodCliente($value) {
        $this->codcliente = (int) $value;
    }

    public function getCodCliente() {
        return $this->codcliente;
    }

    public function setCodFrete($value) {
        $this->codfrete = (int) $value;
    }

    public function getCodFrete() {
        return $this->codfrete;
    }

    public function setData($value) {
        $this->data = Util_Util::LimpaStringCompleta($value);
    }

    public function getData() {
        return $this->data;
    }

    public function setValor($value) {
        $this->valor = (float) $value;
    }

    public function getValor() {
        return $this->valor;
    }

    public function setCodPedido($value) {
        $this->codpedido = (int) $value;
    }

    public function getCodPedido() {
        return $this->codpedido;
    }

    public function setCodProduto($value) {
        $this->codproduto = (int) $value;
    }

    public function getCodProduto() {
        return $this->codproduto;
    }

    public function setQtd($value) {
        $this->qnt = (int) $value;
    }

    public function getQtd() {
        return $this->qtd;
    }

    public function setPrecoUn($value) {
        $this->precoun = (float) $value;
    }

    public function getPrecoUn() {
        return $this->precoun;
    }

    public function Lista(){
        
        if($this->getData()){
            $str = "p.data = '{$this->getData()}'";
        }else{
            $str = "p.data LIKE '%%'";
        }
        $query = ("SELECT 
                        p.codigo as pedidocodigo,
                        p.codcliente as pedidocodcli,
                        p.codfrete as pedidocodfrete, 
                        p.data as pedidodata,
                        p.valor as pedidovalor,
                        pp.codigo as ppcodigo,
                        pp.codproduto as ppcodproduto,
                        pp.codpedido as ppcodpedido,
                        pp.qtd as ppqtd,
                        pp.preco_un as ppprecoun
                    FROM 
                        pedidos as p
                    INNER JOIN 
                        produtos_pedidos as pp ON p.codigo = pp.codpedido
                    WHERE $str
                    ");
        $db = new DB_Connect();
            $result = $db->Query($query);
            if(!$result->NumRows()){
                throw new Exception("Não foram encontrados pedidos");
            }else{
                $dados = array();
                while($image = $result->FetchObject()){
                        $dados[] = $image;
                }
                return $dados;
            }
    }
    
    public function Carrega(){
        
        $query = ("SELECT 
                        p.codigo as pedidocodigo,
                        p.codcliente as pedidocodcli,
                        p.codfrete as pedidocodfrete, 
                        p.data as pedidodata,
                        p.valor as pedidovalor,
                        pp.codigo as ppcodigo,
                        pp.codproduto as ppcodproduto,
                        pp.codpedido as ppcodpedido,
                        pp.qtd as ppqtd,
                        pp.preco_un as ppprecoun
                    FROM 
                        pedidos as p
                    INNER JOIN 
                        produtos_pedidos as pp ON p.codigo = pp.codpedido
                    WHERE p.codigo = '{$this->getCodigo()}'
                  ");
            $db = new DB_Connect();
            $result = $db->Query($query);
            
            if(!$result->NumRows()){
                throw new Exception("Pedido não encontrado!");
            }else{
                $dados = $result->FetchObject();
                $this->setCodigo($dados->pedidocodigo);
                $this->setCodCliente($dados->pedidocodcli);
                $this->setCodFrete($dados->pedidocodfrete);
                $this->setData($dados->pedidodata);
                $this->setValor($dados->pedidovalor);
                $this->setCodPedido($dados->ppcodpedido);
                $this->setCodProduto($dados->ppcodproduto);
                $this->setQtd($dados->ppqtd);
                $this->setPrecoUn($dados->ppprecoun);
            }
    }
	
	public function Inseri(){
		$db = new DB_Connect();
		$query = ("
			INSERT INTO 
				pedidos 
					(codcliente, codfrete, data, valor)
				VALUES
					('{$this->codcliente}', '{$this->codfrete}', '{$this->data}', '{$this->valor}')
		");
		$resultado = $db->Query($query);
		
		return mysql_insert_id();
		
	}

}

?>
